11
תגובות

מה אומרת השגיאה הבאה?

פתח razand ,
Cannot use object of type lang as array

11 תשובות

avatar ענה razand ב 06 לאוגוסט 2012 #

הבנתי מה זה אומר אבל יש לי בעיה אחרת.
אם עשיתי include לקובץ בתוך פונקיה במחלקה.
איך אני יכול לגשת עליו מפונקציה אחרת\מהדף עצמו בלי שום class?

avatar ענה CoolNick ב 07 לאוגוסט 2012 #

לשמור אותו במשתנה גלובאלי ?..

avatar ענה cthulhu ב 07 לאוגוסט 2012 #

לשמור אותו במאפיין של המחלקה שיהיה פומבי. משתנים גלובלים זה דבר רע.

avatar ענה razand ב 07 לאוגוסט 2012 #

שמרתי אותו ב PUBLIC...
אבל עדיין לא עובד..

avatar ענה cthulhu ב 07 לאוגוסט 2012 #

אם תראה את הקוד נספר לך איפה טעית. בינתיים אין לאף אחד כאן כוחות על שיאפשרו לנחש מה הבעיה.

avatar ענה razand ב 07 לאוגוסט 2012 #

יש לי מחלקה שהיא תוספת ל-MysqlI
שהועתקה מהמדריך של MYSQLI באתר
ואני מנסה לשלוף מתוך פונקציה במחלקה וזה לא עובד:

public function M($text){
   $sql = $mysqli->query("SELECT * FROM `table` WHERE text='".$text."'");
   $sql = $sql->fetch_array();
   return $sql['value'];
 }

avatar ענה intval ב 08 לאוגוסט 2012 #

והשגיאה בשורה של ה return ?
תוסיף לפני
Var_dump($sql); ותסתכל מה נמצא במשתנה הזה.

avatar ענה iiddaannyy ב 08 לאוגוסט 2012 #

תנסה לא לדרוס את המשתנה sql. את התוצאה של fetch_array תכניס למשתנה נפרד, לא sql.

ואגב -
אתה מחזיר רק עמודה אחת, למה אתה שולף את כל העמודות? זה בזבוז טפשי.
למה אתה משתמש ב-fetch_array? גם סתם בזבוז.

avatar ענה razand ב 08 לאוגוסט 2012 #

השגיאה היא:

Notice: Undefined variable: mysqli in C:\wamp\www\Ecsite\include\class.php on line 4

שורה 4 זה זאת:
$sql = $mysqli->query("SELECT * FROM `table` WHERE text='".$text."'");


ועידן למה לשלוף את כולם אם אני לא צריך את כולם?

avatar ענה iiddaannyy ב 08 לאוגוסט 2012 #

מה זה המשתנה mysqli? מאיפה הבאת אותו? תגדיר אותו לפני כן.


וזה מה שאני שואל. אתה שולף את כל העמודות אבל אתה צריך רק אחת, למה אתה עושה את זה?

avatar ענה razand ב 09 לאוגוסט 2012 #

הגדרתי אותו מחוץ למחלקה...

זה טבלה שיש בה רק שתי עמודות...